<?php
	class CRUDUsuarioController
	{
		public function adicionarUsuario($redireciona = true)
		{
			$usuario = new Usuario();
			$sucesso = $usuario->insertUsuario();
			if($sucesso)
			{
				if($redireciona){
					colocaMensagemSession('sucesso', 'Usuário cadastrado com sucesso');
					header('Location: ./');
				}
				return true;
			}
			return 'Falha ao inserir a linha atual';
		}
		
		public function editarUsuario($redireciona = true)
		{
			$usuario = new Usuario();
			$sucesso = $usuario->editUsuario();
			if($sucesso)
			{
				if($redireciona){
					colocaMensagemSession('sucesso', 'Usuário alterado com sucesso');
					header('Location: ./');
				}
				return true;
			}
			return 'Falha ao alterar a linha atual';
		}
		
		public function deletarUsuario($redireciona = true)
		{
			$usuario = new Usuario();
			$sucesso = $usuario->deleteUsuario();
			if($sucesso)
			{
				if($redireciona){
					colocaMensagemSession('sucesso', 'Usuário excluído com sucesso');
					header('Location: ./');
				}
			}
			else
			{
				if($redireciona){
					colocaMensagemSession('erro', 'Falha ao excluir a linha atual');
					header('Location: ../logout.php');
				}
			}
			
			return $sucesso;
		}
		
		public function verContaUsuario($email = null)
		{
			return PaginacaoUsuario::usuario_visualizar_dados_get();
		}

		public function listarUsuarios()
		{
			$usuario = new Usuario();
			return $usuario->getAllUsuarios();
		}
		
		public function habilitarFuncaoAdministrador($email = null)
		{
			if(!checa_id_passado()) // Se não foi passado um id por $_GET
			{
				colocaMensagemSession('erro', 'Não foi passado os parâmetros corretos para a página de alterar.');
				header('Location: ./'); // redireciona para a index.php (o gerenciar)
				return false;
			}
			
			return executa_query("UPDATE usuario SET administrador = 1 WHERE id = ".$_GET['id'].";"); // Retorna o registro do id passado por $_GET
		}
		
		public function desabilitarFuncaoAdministrador($email = null)
		{
			if(!checa_id_passado()) // Se não foi passado um id por $_GET
			{
				colocaMensagemSession('erro', 'Não foi passado os parâmetros corretos para a página de alterar.');
				header('Location: ./'); // redireciona para a index.php (o gerenciar)
				return false;
			}
			
			return executa_query("UPDATE usuario SET administrador = 0 WHERE id = ".$_GET['id'].";"); // Retorna o registro do id passado por $_GET
		}
	}
?>